The subject invention relates generally to document rendering, and more particularly to rendering of gray scale images with devices that have a limited ability to print elements or data with a finite number of gray scale levels. The invention is particularly applicable to image rendering from printing devices. However, it will be appreciated that the teachings herein are suitably used in connection with any image rendering device.
Halftoning is a process by which gray scale images may be generated on a device that may, for example, only produce black dots on a white background. In a halftoning system, a small area or array of dots is treated as a large picture element (“halftone cell”). While this area is substantially larger than that of a dot, selectively turning on various dots or patterns of dots in this area allows it to be perceived, from a distance, as having a shade of gray associated with such a dot arrangement. These “dithered” areas are constructed so as to be placed to allow for visual perception of gray levels to be associated with each such area. Thus, halftoning allows for a trade off between resolution and gray scale. This allows for generation of fairly accurate, black-and-white images from a monotone document rendering device, such as a common laser printer.
More recently, devices such as printers have the ability to generate dots in two or more gray scale levels. While this additional capability allows for generation of high resolution gray scale levels, frequently the number of gray scale levels that are available for generation of a suitable image is insufficient for visual acceptability. Thus, a hybridized system that allows for generation of dithered or halftone images, which system also uses the gray scale capabilities native to a device, is advantageous.
Earlier systems that seek to use a combination of native gray scale levels with halftoning have been heretofore implemented with complicated procedures. Such procedures, for example, may incorporate a mechanism for switching between various arrays, each of which requires a specialized data structure. Additionally, such structures often require unique software or hardware environments to allow for generation of images.
It is desirable to have a system and method that quickly and simply implements halftoning in systems that have limited, native gray scale generation capability and that allows for ready implementation of standardized data structures for output in a multi-bit halftone image rendering device.